home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 5 / Apprentice-Release5.iso / Source Code / By the Book / Learn C++ (CodeWarrior) / Chap 05.01 - employee / employee.cp < prev    next >
Text File  |  1995-10-20  |  1KB  |  60 lines

  1. #include <iostream.h>
  2. #include <string.h>
  3.  
  4. const short    kMaxNameSize = 20;
  5.  
  6. class Employee
  7. {
  8. //            Data members...
  9.     private:
  10.         char    employeeName[ kMaxNameSize ];
  11.         long    employeeID;
  12.         float    employeeSalary;
  13.  
  14. //            Member functions...
  15.     public:
  16.                 Employee( char *name, long id, float salary );
  17.                 ~Employee();
  18.         void    PrintEmployee();
  19. };
  20.  
  21. Employee::Employee( char *name, long id, float salary )
  22. {
  23.     strncpy( employeeName, name, kMaxNameSize );
  24.  
  25.     employeeName[ kMaxNameSize - 1 ] = '\0';
  26.  
  27.     employeeID = id;
  28.     employeeSalary = salary;
  29.     
  30.     cout << "Creating employee #" << employeeID << "\n";
  31. }
  32.  
  33. Employee::~Employee()
  34. {
  35.     cout << "Destroying employee #" << employeeID << "\n";
  36. }
  37.  
  38. void    Employee::PrintEmployee()
  39. {
  40.     cout << "-----\n";
  41.     cout << "Name:   " << employeeName << "\n";
  42.     cout << "ID:     " << employeeID << "\n";
  43.     cout << "Salary: " << employeeSalary << "\n";
  44.     cout << "-----\n";
  45. }
  46.  
  47. int    main()
  48. {
  49.     Employee    employee1( "Dave Mark", 1, 200.0 );
  50.     Employee    *employee2;
  51.  
  52.     employee2 = new Employee( "Steve Baker", 2, 300.0 );
  53.  
  54.     employee1.PrintEmployee();
  55.     employee2->PrintEmployee();
  56.  
  57.     delete employee2;
  58.     
  59.     return 0;
  60. }